home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr25 / arexec.zip / AREXEC.DOC < prev    next >
Text File  |  1993-03-01  |  100KB  |  1,944 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.   COPYRIGHT
  8.  
  9.   The program to which this file relates contains source code made available by
  10.   IBM on an AS IS basis.  Anyone receiving the source code is considered to be
  11.   licensed under IBM copyrights to use the IBM-provided source code in any way
  12.   he or she deems fit, including copying it, compiling it, modifying it and
  13.   redistributing it, with or without modifications.  No license under IBM
  14.   patents or patent applications is to be implied from this copyright license.
  15.  
  16.   Any user of the program should understand that IBM cannot provide technical
  17.   support for the program and will not be responsible for any consequences of
  18.   use of the program.
  19.  
  20.   Any person who transfers the source code or any modified version of the
  21.   source code must include the IBM copyright notice, this paragraph and the
  22.   preceding two paragraphs in documentation accompanying the source code.
  23.  
  24.  
  25.   AUTHOR
  26.  
  27.     Peter J. Schwaller
  28.     Internet:     pjs@ralvm6.vnet.ibm.com
  29.     CompuServe:   76711,371
  30.     IBM VNET:     PJS at RALVM6
  31.     Phone:        (919) 254-4376
  32.     IBM Tie-line: 8-444-4376
  33.     Date:         July 31, 1992
  34.  
  35.   +---------------------------------------------------------------------------+
  36.   |                                                                           |
  37.   | Availability                                                              |
  38.   |                                                                           |
  39.   +---------------------------------------------------------------------------+
  40.  
  41.   This sample program and source files are also available on CompuServe through
  42.   the APPC Information Exchange.  To get to the APPC forum just type 'GO APPC'
  43.   from any CompuServe prompt.  The samples are available in the Sample Programs
  44.   library section.  Just search on the keyword CPICPGMS to find all the samples
  45.   in this series.
  46.  
  47.   Updates for the sample programs and support for many more CPI-C platforms
  48.   will also be made available on CompuServe.
  49.  
  50.   +---------------------------------------------------------------------------+
  51.   |                                                                           |
  52.   | Terminology                                                               |
  53.   |                                                                           |
  54.   +---------------------------------------------------------------------------+
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.   TERM           DEFINITION
  62.  
  63.   TRANSACTION    An exchange between two programs that accomplishes a
  64.                  particular action or result.  Transaction programs are written
  65.                  in pairs, with both sides of the transaction cooperating to
  66.                  achieve a result.  The sides of a transaction program are
  67.                  known as "client" and "server."
  68.  
  69.                  Examples of transactions are:
  70.  
  71.                  o   sending a simple message
  72.  
  73.                  o   executing a specified procedure or task
  74.  
  75.                  o   updating a database entry
  76.  
  77.   CLIENT         Identifies the initiator of a transaction.  The client must
  78.                  specify the name of the other side of the transaction, known
  79.                  as the server.  The term client can refer to either a program
  80.                  or a computer.
  81.  
  82.   SERVER         Identifies the receiver of a transaction.  The server does not
  83.                  need to know the name of the client side of the transaction.
  84.  
  85.   PARTNER COMPUTER
  86.                  Identifies the "other" side of a transaction.  The partner of
  87.                  the client is the server, and vice versa.
  88.  
  89.   DESTINATION    The name used on the client to identify the server.
  90.  
  91.   APPC PLATFORM  Refers to the APPC implementation code running on a given
  92.                  computer.
  93.  
  94.   +---------------------------------------------------------------------------+
  95.   |                                                                           |
  96.   | User's Guide                                                              |
  97.   |                                                                           |
  98.   +---------------------------------------------------------------------------+
  99.  
  100.  
  101.   +---------------------------------------------------------------------------+
  102.   |                                                                           |
  103.   | What Is AREXEC?                                                           |
  104.   |                                                                           |
  105.   +---------------------------------------------------------------------------+
  106.  
  107.   APPC Remote EXECution.  AREXEC allows you to execute any single command line
  108.   on a remote workstation.  All output of the command that goes to stdout or
  109.   stderr will be routed to your screen.  Full screen programs or programs that
  110.   require user input will not work properly with AREXEC.
  111.  
  112.   AREXEC is made up of two transaction programs; AREXEC, which runs on the
  113.   client side, and AREXECD, which runs on the server side.
  114.  
  115.   +---------------------------------------------------------------------------+
  116.   |                                                                           |
  117.   | Using AREXEC                                                              |
  118.   |                                                                           |
  119.   +---------------------------------------------------------------------------+
  120.  
  121.   The simplest way to use AREXEC is to specify only the destination and the
  122.   command.
  123.  
  124.     AREXEC destination dir *.c
  125.  
  126.   What you actually specify in place of "destination" is described below.
  127.  
  128.   This command will send the command "dir *.c" to the destination computer
  129.   specified.  The AREXECD program on the destination computer will execute the
  130.   command and the results will show up as the output of AREXEC on the
  131.   originating computer.
  132.  
  133.   The following describes all of the AREXEC parameters:
  134.  
  135.     AREXEC [optional parameters] destination command
  136.  
  137.   The destination and command are the only required parameters.  You may
  138.   specify any number of the additional parameters.  If you specify any
  139.   parameter more than once, the only the last parameter value will be used.
  140.  
  141.   PARAMETER EXPLANATION
  142.  
  143.   destination
  144.             Identifies the partner computer on which the AREXECD server program
  145.             runs.
  146.  
  147.             May be either a CPI-C symbolic destination name or a partner LU
  148.             name.
  149.  
  150.             If the destination is a CPI-C symbolic destination name, it must be
  151.             1 to 8 characters and must be configured in your platform's
  152.             symbolic destination name table (see Configuration Guide below).
  153.  
  154.             If the destination is a partner LU name, the format varies from
  155.             platform to platform.  See the Configuration Guide section for your
  156.             platform for more information about configuring and specifying
  157.             partner LU names.
  158.  
  159.   command
  160.             The command string to be executed on the destination computer
  161.  
  162.             This command string may be different depending upon the operating
  163.             system of the destination computer.
  164.  
  165.   -m mode_name
  166.             mode name (default: "#INTER")
  167.  
  168.  
  169.   -t tp_name
  170.             the TP name to start on the partner (default: "AREXECD")
  171.  
  172.   -u userid
  173.             This is the userid that will be send to the partner.  The userid
  174.             can be 1-8 characters in length.  You should use this parameter
  175.             when the destination transaction program has been configured to
  176.             require security.  One indication that the destination transaction
  177.             program requires security is a CPI-C return code of
  178.             XC_SECURITY_NOT_VALID.
  179.  
  180.             Specifying this parameter implies the conversation will use CPI-C
  181.             security=PROGRAM.  A password must also be specified.  If a userid
  182.             is specified without a password, AREXEC will prompt the user for a
  183.             password.
  184.  
  185.   -p password
  186.             This is the password that will be send to the partner.  The
  187.             password can be 1-8 characters in length.
  188.  
  189.   -n
  190.             This parameter forces AREXEC to use NO security on the
  191.             conversation.  (CPI-C security=NONE).  This should be used when you
  192.             receive a CPI-C return code of XC_SECURITY_NOT_VALID, but the
  193.             destination transaction program is not configured to require
  194.             security.
  195.  
  196.   +---------------------------------------------------------------------------+
  197.   |                                                                           |
  198.   | Configuration Guide for AREXEC                                            |
  199.   |                                                                           |
  200.   +---------------------------------------------------------------------------+
  201.  
  202.   The AREXEC program consists of two sides:  the client computer side and the
  203.   server computer side.  On the client computer side, the user starts up the
  204.   AREXEC program and specifies what actions should be taken.  As a result, the
  205.   AREXECD program is started on the server computer side.  The AREXEC and
  206.   AREXECD programs then communicate using CPI-C and complete the transaction.
  207.  
  208.   In order to get the client computer and the server computer to talk to each
  209.   other, both computers must be configured.  This configuration involves
  210.   defining certain APPC information to the AREXEC programs and to the APPC
  211.   platform on the computer.
  212.  
  213.   The rest the Configuration Guide is divided into the following sections:
  214.  
  215.   o   APPC Configuration Overview
  216.  
  217.       This section describes the APPC information that must be provided to the
  218.       APPC platform.  If you are not familiar with APPC terminology or
  219.       configuration, you should read this section.
  220.  
  221.   o   Configuration Information for Specific Platforms
  222.  
  223.       These are the actual steps that should be done on the client computer and
  224.       server computer.  The directions are grouped by APPC platform.  You
  225.       should find the section for your platforms, and follow the steps
  226.       indicated.  The following platforms are described in this Configuration
  227.       Guide:
  228.  
  229.       -   Networking Services/DOS
  230.  
  231.       -   Networking Services/2 or Extended Services
  232.  
  233.       -   VM SP 6 or VM ESA
  234.  
  235.       -   AS/400
  236.  
  237.       -   MVS
  238.  
  239.       -   AIX SNA Services
  240.  
  241.   +---------------------------------------------------------------------------+
  242.   |                                                                           |
  243.   | APPC Configuration Overview                                               |
  244.   |                                                                           |
  245.   +---------------------------------------------------------------------------+
  246.  
  247.   In order to successfully communicate with APPC from one computer to another,
  248.   you need to configure some information in your APPC platform.  This
  249.   information consists of:
  250.  
  251.   o   How to physically connect to another computer.
  252.  
  253.       You tell your APPC platform how to physically connect to another computer
  254.       by defining a link.  The link definition tells APPC information about how
  255.       to connect to the partner computer, including data link control
  256.       information.  The data link control represents the physical connection
  257.       (token-ring, SDLC, Ethernet, etc.) between two computers.  To connect to
  258.       the partner computer, the APPC link definition specifies both a data link
  259.       control and addressing information specific to that data link control.
  260.       For example, if you are using token ring as your data link control, you
  261.       will need to specify a token ring address in your link definition.  Some
  262.       data link controls, may not require any address information, since the
  263.       partner computer is implied to be on the other end of the physical
  264.       connection.  This is common with SDLC leased lines.
  265.  
  266.   o   How to identify and find the correct server computer.
  267.  
  268.       Computers are identified in APPC by their fully qualified LU name.  The
  269.       fully qualified LU name consists of two parts: a network name and an LU
  270.       name, concatenated with a period.  For example:
  271.  
  272.           USIBMNR.NR55069I
  273.  
  274.       Both the client and server computers must have fully qualified LU names
  275.       defined.
  276.  
  277.       LU names are viewed relative to the computer on which they are defined:
  278.       there are local LUs and there are partner LUs which are on partner
  279.       computers.  The local LU name for any given computer is the partner LU
  280.       name as viewed from another computer, and vice versa.
  281.  
  282.       Each APPC platform must define at least one local LU, which must be
  283.       unique within the network.  Since there are only up to 8 characters with
  284.       which to create a unique LU name, this can be somewhat challenging in
  285.       networks with many computers.  Some possible naming conventions for LUs
  286.       include:
  287.  
  288.       -   Assigning consecutive LU names (alphabetically increasing) under
  289.           central administration control.
  290.  
  291.       -   Incorporating something that is already unique to each computer.
  292.  
  293.           Examples include:
  294.  
  295.           --  Serial number of the computer
  296.  
  297.           --  Person number of the user
  298.  
  299.           --  Unique userid of the user
  300.  
  301.       On some APPC platforms, you must predefine the list of partner LUs that
  302.       the computer will be able to communicate with.  Other platforms allow you
  303.       to use any fully qualified LU name without having defined it beforehand.
  304.       The APPC platform will then dynamically find that LU in the network.
  305.  
  306.   o   What kind of connection should be made with the server computer.
  307.  
  308.       When the AREXEC client program requests a connection with a partner LU,
  309.       the APPC platform establishes what is called a session between the local
  310.       LU and the partner LU.  The simplest session that can be established
  311.       occurs when the client computer and the server computer are directly
  312.       connected with a single APPC link.  The session goes directly from the
  313.       client computer to the server computer.
  314.  
  315.       If your network is larger and more complex, the client computer may be
  316.       connected to a network node computers rather than directly to the server
  317.       computer.  In this case, the session that is established may pass through
  318.       other computers in the network.  To add to the complexity, there may be
  319.       different paths through the network.
  320.  
  321.       The network will always choose the best path through the network for your
  322.       application.  Since different applications have different needs, APPC
  323.       provides a way for the application to specify the route characteristics
  324.       that are best for that application.  The application specifies a mode
  325.       name which contains all the routing characteristics required by the
  326.       application.  The characteristics associated with a mode include:
  327.  
  328.       -   Turnaround time
  329.  
  330.           How fast must data get through the network?
  331.       -   Throughput
  332.  
  333.           How much data can get through the network?
  334.  
  335.       -   Cost
  336.  
  337.           Are you paying for physical connections between computers?
  338.  
  339.       Two modes which are commonly supplied with APPC platforms are #BATCH and
  340.       #INTER.  The definition for #BATCH specifies a path with good throughput
  341.       characteristics.  The definition for #INTER specifies a path with good
  342.       turnaround time.  If your platform does not supply a definition for these
  343.       modes, you can either define them on your platform, or use some other
  344.       mode that is already defined by specifying the mode name when you start
  345.       the AREXEC client program.
  346.  
  347.   o   How to identify and start the correct program on the server computer.
  348.  
  349.       When the client computer establishes a connection with the server
  350.       computer, the server computer must make that connection with a particular
  351.       server program.  To help the server computer identify the server program,
  352.       a transaction program name is sent from the client computer.
  353.  
  354.       The server program is identified by this transaction program (TP) name.
  355.       The TP name is a 1 to 64 byte string.  Because the actual executable
  356.       program names can be different on various computers, the TP name is used
  357.       as a common identifier or an alias for the real program name.  In many
  358.       cases, the TP name and the real program name will be identical.
  359.  
  360.       On the client computer, the TP name is specified by the AREXEC client
  361.       program and is the first thing sent by the client APPC platform to the
  362.       server APPC platform.  The client computer does need to have a TP name
  363.       definition configured.
  364.  
  365.       The server APPC platform then needs to know how to correlate the received
  366.       TP name with an actual program.  This is done through a TP definition,
  367.       which tells the server APPC platform which program should be started and
  368.       the application parameters and characteristics associated with the
  369.       program.  Some common things that can be configured are:
  370.  
  371.       -   The name and location (e.g., subdirectory) of the server program
  372.  
  373.       -   A list of users who can use the server program
  374.  
  375.       -   Parameters that should be passed to the program when it is started
  376.  
  377.   +---------------------------------------------------------------------------+
  378.   |                                                                           |
  379.   | Platform Specific Configuration                                           |
  380.   |                                                                           |
  381.   +---------------------------------------------------------------------------+
  382.  
  383.  
  384.  
  385.   The following steps have been described for each APPC platform that AREXEC
  386.   has been tested with (see the list above in the Configuration Guide for
  387.   AREXEC section).
  388.  
  389.   Each platform will have the following information:
  390.  
  391.   o   General configuration tools
  392.  
  393.       -   Where and how configuration changes are made
  394.  
  395.       -   How to make your configuration changes take effect
  396.  
  397.   o   Configuration changes common to client and server computers
  398.  
  399.   o   Configuration changes specific to the client computer
  400.  
  401.       How to specify and identify where your server is and how to reach your
  402.       server.
  403.  
  404.   o   Configuration changes specific to the server computer
  405.  
  406.       How to specify which clients can use the server and what server program
  407.       to start when the TP arrives.
  408.  
  409.   Each platform also requires data link control configuration information.  In
  410.   all of the examples, token ring data link control configuration will be
  411.   shown.  For information about configuring other data link controls, see the
  412.   documentation for the specific platform.
  413.  
  414.   +---------------------------------------------------------------------------+
  415.   |                                                                           |
  416.   | Configuration for Networking Services/DOS                                 |
  417.   |                                                                           |
  418.   +---------------------------------------------------------------------------+
  419.  
  420.   o   General configuration tools
  421.  
  422.       -   Where and how configuration changes are made
  423.  
  424.           All configuration changes for Networking Services/DOS are made in the
  425.           Networking Services/DOS configuration file.  To make changes to your
  426.           configuration, you must edit the Networking Services/DOS
  427.           configuration file according to the directions below.  The default
  428.           configuration file is named CONFIG.NSD and is usually in the \NSD
  429.           subdirectory.  You may use another file name, but you will have to
  430.           specify that name explicitly when you use the NSD command (see
  431.           below).
  432.  
  433.       -   How to make your configuration changes active
  434.  
  435.           After you have edited your Networking Services/DOS configuration
  436.           file, you should use the NSD command to start NSD and activate your
  437.           configuration changes.  If you are using the default configuration
  438.           file, you should use:
  439.             nsd start
  440.  
  441.           If you are using another Networking Services/DOS configuration file,
  442.           you should use:
  443.  
  444.             nsd start FILENAME
  445.  
  446.   o   Configuration changes common to client and server computers
  447.  
  448.       -   Defining a local LU
  449.  
  450.           Include an "nsdn" statement in your Networking Services/DOS
  451.           configuration file:
  452.  
  453.             nsdn NETWORK_NAME.CLIENT_LU
  454.  
  455.           The name specified by the "nsdn" entry must be unique throughout your
  456.           network.
  457.  
  458.       -   Defining a partner LU
  459.  
  460.           --  If you are directly connected to your partner computer, include
  461.               "nsdc" and "trld" entries in your Networking Services/DOS
  462.               configuration file.  You must specify both the partner LU name
  463.               and the token ring destination address of the partner computer.
  464.               For example:
  465.  
  466.                 nsdc lan
  467.                 trld SERVER_LU,400000000001
  468.  
  469.           --  If you are connected to your partner computer through a network
  470.               node, "nsdc," and  "trld" entries in your Networking Services/DOS
  471.               configuration file.  For example:
  472.  
  473.                 nsdc lan
  474.                 trld NN_LU,600000000002
  475.  
  476.               In this example, we specify a physical connection to our network
  477.               node, specifying the LU name of the network node (NN_LU) and the
  478.               token ring destination address.  We then specify that the LU name
  479.               SERVER_LU can be reached through the network node NN_LU.
  480.  
  481.           In both cases, change the token ring destination address in the
  482.           example to the address of the partner computer you are connecting to.
  483.  
  484.       -   Defining a link to a partner computer or to the network node
  485.  
  486.           The definition of the link has already been done in the partner LU
  487.           section above.
  488.  
  489.       -   Defining a mode
  490.  
  491.  
  492.  
  493.           Since Networking Services/DOS has already defined the IBM supplied
  494.           mode names in the supplied MODE.NSD file, including #INTER, no mode
  495.           definitions on Networking Services/DOS are needed for AREXEC.
  496.  
  497.   o   Configuration changes specific to the client computer
  498.  
  499.       No special configuration is needed for Networking Services/DOS to
  500.       configure the AREXEC client.
  501.  
  502.   o   Configuration changes specific to the server computer
  503.  
  504.       Consult your Networking Services/DOS documentation for information on how
  505.       to run server programs in a DOS or Windows environment.
  506.  
  507.   +---------------------------------------------------------------------------+
  508.   |                                                                           |
  509.   | Configuration for Extended Services and Networking Services/2 (OS/2)      |
  510.   |                                                                           |
  511.   +---------------------------------------------------------------------------+
  512.  
  513.   o   General configuration tools
  514.  
  515.       -   Where and how configuration changes are made
  516.  
  517.           To configure Extended Services and Networking Services/2 use either
  518.           the Configuration Management panels or edit the Node Definitions File
  519.           (NDF).  Although the following examples show Node Definitions File
  520.           commands, you can enter the same information on the Configuration
  521.           Management panels.  Your Node Definitions File file will have the
  522.           same filename as your Communications Manager configuration file, but
  523.           with a file extension of "NDF."
  524.  
  525.       -   How to make your configuration changes active
  526.  
  527.           You must verify the configuration file after changes are made to the
  528.           configuration.  If you have edited the Node Definitions File, run
  529.           APPNV from an OS/2 Command prompt with the /e option to verify and
  530.           update your configuration.  For example:
  531.  
  532.             appnv WRKBASE.NDF /e
  533.  
  534.   o   Configuration changes common to client and server computers
  535.  
  536.       -   Defining a local LU
  537.  
  538.           During the Extended Services and Networking Services/2 installation
  539.           process, at least one local LU was configured.  This is the LU that
  540.           will be used when you run the AREXEC client.  When your computer is
  541.           acting as a server, this is the LU name that should be configured on
  542.           the client platform as the partner LU.
  543.  
  544.           You can find your local LU in the DEFINE_LOCAL_CP command In the
  545.           following Node Definitions File excerpt:
  546.  
  547.             define_local_cp
  548.                 fq_cp_name(NETWORK_NAME.CLIENT_LU)
  549.                 cp_alias(mylu)
  550.                 node_id(x'50000')
  551.                 node_type(en);
  552.  
  553.           The local LU is NETWORK_NAME.CLIENT_LU.
  554.  
  555.       -   Defining a partner LU
  556.  
  557.           Since both Extended Services and Networking Services/2 support APPN,
  558.           you do not need to define partner LU names.
  559.  
  560.           When your computer is the client, you will simply need to specify the
  561.           fully qualified name of your partner LU.  This fully qualified name
  562.           includes the network name and LU name concatenated with a period.  To
  563.           enable any partner to call you when your computer is a server, make
  564.           sure your Node Definitions File contains the following:
  565.  
  566.             define_defaults
  567.                 implicit_inbound_plu_support(yes);
  568.  
  569.           An additional feature of defining partner LUs is that you can provide
  570.           an alias for the actual partner LU name.  For example, you could
  571.           define "server" to be an alias for NETWORK_NAME.SERVER_LU.  Alias are
  572.           case sensitive; "SERVER" is a different alias than "server."
  573.  
  574.           If you choose to define partner LUs, either to provide an alias for
  575.           use when running the AREXEC client, or to restrict the names of
  576.           partner clients that can contact you, use a "define_partner_lu"
  577.           command as follows:
  578.  
  579.             define_partner_lu
  580.                 fq_partner_lu_name(NETWORK_NAME.SERVER_LU)
  581.                 partner_lu_alias(server);
  582.  
  583.       -   Defining a link to a partner computer or to the network node
  584.  
  585.           --  To define a link directly to your partner, your Node Definitions
  586.               File should contain a "define_link" command,
  587.  
  588.                 define_logical_link
  589.                     link_name(link)
  590.                     fq_adjacent_cp_name(NETWORK_NAME.SERVER_LU)
  591.                     adjacent_node_type(len)
  592.                     dlc_name(ibmtrnet)
  593.                     adapter_number(0)
  594.                     destination_address(x'400000000001')
  595.                     cp_cp_session_support(no)
  596.                     activate_at_startup(no);
  597.  
  598.           --  To define a link to your network node, your Node Definitions File
  599.               should contain a "define_link" command,
  600.  
  601.                 define_logical_link
  602.                     link_name(link)
  603.                     adjacent_node_type(nn)
  604.                     dlc_name(ibmtrnet)
  605.                     adapter_number(0)
  606.                     destination_address(x'600000000002')
  607.                     cp_cp_session_support(yes)
  608.                     activate_at_startup(yes);
  609.  
  610.               Note that the CP name of the network node does not have to be
  611.               specified on the "define_link" command.
  612.  
  613.           In both cases, change the destination address in the example to the
  614.           address of the partner computer you are connecting to.
  615.  
  616.       In order to allow other computers to configure links to your computer,
  617.       you will need to give them your local token ring address.  To find out
  618.       your own token ring address, look in the ACSLAN.LOG file in the \CMLIB
  619.       subdirectory if you are using Networking Services/2 or the LANTRAN.LOG
  620.       file in the \IBMCOM subdirectory if you are using Extended Services.
  621.       Your token ring address appears in a line similar to the following:
  622.  
  623.         Adapter 0 is using node address 400000000000.
  624.  
  625.   o   Configuration changes specific to the client computer
  626.  
  627.       No special configuration is needed for Extended Services or Networking
  628.       Services/2 to configure the AREXEC client.
  629.  
  630.   o   Configuration changes specific to the server computer
  631.  
  632.       -   Defining the TP
  633.  
  634.           Configure the AREXECD program as follows.  Make sure the "filespec"
  635.           specifies the directory where the AREXECD.EXE program resides.
  636.  
  637.             define_tp
  638.                 tp_name(AREXECD)
  639.                 filespec(C:\SAMPLES\AREXEC\AREXECD.EXE)
  640.                 tp_operation(nonqueued_am_started)
  641.                 program_type(vio_windowable);
  642.  
  643.           The "tp_operation" field indicates that a new copy of the AREXECD.EXE
  644.           program should be started for every new client.  The "program_type"
  645.           field indicates that the program should be run in an OS/2 Window.
  646.  
  647.           Note that TP names are case sensitive.  The AREXECD must be typed in
  648.           all upper case.
  649.  
  650.   +---------------------------------------------------------------------------+
  651.   |                                                                           |
  652.   | Configuration for VM                                                      |
  653.   |                                                                           |
  654.   +---------------------------------------------------------------------------+
  655.   +--- WARNING ---------------------------------------------------------------+
  656.   |                                                                           |
  657.   | The configuration instructions for VM have not been fully tested.  If you |
  658.   | have problems, please contact the author (indicated at the top of this    |
  659.   | file).                                                                    |
  660.   |                                                                           |
  661.   +---------------------------------------------------------------------------+
  662.  
  663.   o   General configuration tools
  664.  
  665.       -   Where and how configuration changes are made
  666.  
  667.           There are four places where configuration changes are required for
  668.           VM:
  669.  
  670.           1.  The CP directory entry must be changed to include definition of
  671.               the server.
  672.  
  673.           2.  The client must define a local directory entry that describes the
  674.               path that VTAM uses to find the server.
  675.  
  676.           3.  The APPC VTAM Service Machine (AVS) must be configured to know
  677.               how to map requests between VTAM and local resources.
  678.  
  679.           4.  VTAM must be configured so that it knows about the APPC gateway
  680.               as well as any remote clients or servers.
  681.  
  682.           More detailed information on the configuration can be found in
  683.           CONNECTIVITY PLANNING, ADMINISTRATION, AND OPERATION, SC24-5448.
  684.  
  685.       -   How to make configuration changes active
  686.  
  687.           Once CP directory entries are put online (DIRMAINT is typically used
  688.           for this), the server is ready.  After adding directory entries to
  689.           the local directory the SET COMDIR command must be issued to activate
  690.           the changes.  The major nodes of VTAM affected by the changes must be
  691.           restarted for VTAM changes to become active. AVS can either be
  692.           restarted, or commands can be issued to the virtual machine to make
  693.           any new gateways known.
  694.  
  695.   o   Configuration common to client and server computers
  696.  
  697.       -   Define AVS Gateway LU to VTAM
  698.  
  699.           The AVS gateway is a gateway between local resources (programs
  700.           running in virtual machines) and the VTAM network. To communicate
  701.           through VTAM it acts as a VTAM application. It therefore must be
  702.           defined in a VTAM application major node. An example is shown below:
  703.  
  704.           APLAVS   VBUILD  TYPE=APPL
  705.           SERVER_LU APPL  APPC=YES,                                    X
  706.                          AUTH=(ACQ),                                   X
  707.                          ACBNAME=SERVER_LU,                            X
  708.                          AUTOSES=0,                                    X
  709.                          AUTHEXIT=YES,                                 X
  710.                          MODETAB=APPCMODE,                             X
  711.                          DLOGMOD=#INTER,                               X
  712.                          PARSESS=YES,                                  X
  713.                          SECACPT=NONE
  714.  
  715.  
  716.           This definition uses a logmode name of #INTER. This must be the mode
  717.           used on the bind from the client, if it is in the VTAM network.
  718.  
  719.           Logmode #INTER must also be assembled and link-edited into a
  720.           simulated partitioned data set (PDS) accessible by VTAM. In the
  721.           example below it would be in member APPCMODE. The PDS used is
  722.           typically VTAMUSER.  The following sample mode table contains
  723.           definitions for typical APPC modes.
  724.  
  725.           APPCMODE MODETAB
  726.           **********************************************************************
  727.           *        LOGMODE TABLE ENTRY FOR RESOURCES CAPABLE OF ACTING         *
  728.           *                                AS LU 6.2 DEVICES      @R495812 @KFC*
  729.           **********************************************************************
  730.           SNASVCMG MODEENT LOGMODE=SNASVCMG,FMPROF=X'13',TSPROF=X'07',           *
  731.                          PRIPROT=X'B0',SECPROT=X'B0',COMPROT=X'D0B1',            *
  732.                          RUSIZES=X'8686',ENCR=B'0000',SSNDPAC=7,          *@KFC* *
  733.                          PSERVIC=X'060200000000000000000300',         *@R495812* *
  734.                          SRCVPAC=7,PSNDPAC=7,TYPE=0                       *@KFA*
  735.                    TITLE '#BATCH'                                         *@KFA*
  736.           ***********************************************************************
  737.           *                                                                     *
  738.           *        LOGMODE TABLE FOR BATCH SESSIONS ON RESOURCES CAPABLE        *
  739.           *        OF ACTING AS LU 6.2 DEVICES                                  *
  740.           *                                                                 @KFA*
  741.           ***********************************************************************
  742.           #BATCH   MODEENT LOGMODE=#BATCH,                                *@KFA* *
  743.                          ENCR=B'0000',SSNDPAC=3,                          *@KFA* *
  744.                          SRCVPAC=3,PSNDPAC=3                              *@KFA*
  745.                    TITLE '#INTER'                                         *@KFA*
  746.           ***********************************************************************
  747.           *                                                                     *
  748.           *        LOGMODE TABLE FOR INTERACTIVE SESSIONS ON RESOURCES          *
  749.           *        CAPABLE OF ACTING AS LU 6.2 DEVICES                          *
  750.           *                                                                 @KFA*
  751.           ***********************************************************************
  752.           #INTER   MODEENT LOGMODE=#INTER,                                *@KFA* *
  753.                          ENCR=B'0000',SSNDPAC=7,                          *@KFA* *
  754.                          SRCVPAC=7,PSNDPAC=7                              *@KFA*
  755.                    TITLE '#BATCHSC'                                       *@KFA*
  756.           ***********************************************************************
  757.           *                                                                     *
  758.           *        LOGMODE TABLE FOR BATCH SESSIONS REQUIRING SECURE            *
  759.           *        TRANSPORT ON RESOURCES CAPABLE OF ACTING AS LU 6.2           *
  760.           *        DEVICES                                                      *
  761.           *                                                                 @KFA*
  762.  
  763.           ***********************************************************************
  764.           #BATCHSC MODEENT LOGMODE=#BATCHSC,                              *@KFA* *
  765.                          ENCR=B'0000',SSNDPAC=3,                          *@KFA* *
  766.                          SRCVPAC=3,PSNDPAC=3                              *@KFA*
  767.                    TITLE '#INTERSC'                                       *@KFA*
  768.           ***********************************************************************
  769.           *                                                                     *
  770.           *        LOGMODE TABLE FOR INTERACTIVE SESSIONS REQUIRING             *
  771.           *        SECURE TRANSPORT ON RESOURCES CAPABLE OF ACTING AS           *
  772.           *        LU 6.2 DEVICES                                               *
  773.           *                                                                 @KFA*
  774.           ***********************************************************************
  775.           #INTERSC MODEENT LOGMODE=#INTERSC,                              *@KFA* *
  776.                          ENCR=B'0000',SSNDPAC=7,                          *@KFA* *
  777.                          SRCVPAC=7,PSNDPAC=7                              *@KFA*
  778.                    TITLE 'CPSVCMG'                                        *@KFA*
  779.           ***********************************************************************
  780.           *                                                                     *
  781.           *        LOGMODE TABLE FOR CP-CP SESSIONS ON RESOURCES CAPABLE        *
  782.           *        OF ACTING AS LU 6.2 DEVICES                                  *
  783.           *                                                                 @KFA*
  784.           ***********************************************************************
  785.           CPSVCMG  MODEENT LOGMODE=CPSCVMG,                               *@KFA* *
  786.                          RUSIZES=X'8686',ENCR=B'0000',                    *@KFA* *
  787.                          SSNDPAC=7,SRCVPAC=7,PSNDPAC=7                    *@KFA*
  788.                    MODEEND
  789.                    END
  790.  
  791.       -   Define AVS Gateway to AVS Service Machine
  792.  
  793.           The gateway defined to VTAM must also be defined for the AVS virtual
  794.           machine. This can be done in the AGWPROF GCS, which is the profile
  795.           information for the AVS service machine. An example is shown below:
  796.  
  797.           /*********************************/
  798.           /*                               */
  799.           /*  SAMPLE AGWPROF GCS FOR AVS   */
  800.           /*                               */
  801.           /*********************************/
  802.           Trace O
  803.           'AGW ACTIVATE GATEWAY SERVER_LU PRIVATE USERID VMSERVER'
  804.           'AGW CNOS SERVER_LU CLIENT_LU #INTER 2 0 2'
  805.  
  806.           The above example activates a private gateway called SERVER_LU, which
  807.           is used exclusively by a server running under userid VMSERVER. It
  808.           also issues a CNOS (change number of sessions) to establish two
  809.           sessions with a device in the VTAM subarea network called CLIENT_LU.
  810.  
  811.   o   Configuration specific to the client computer
  812.  
  813.       The user must define a directory that tells APPC how to find the target
  814.       server, and other parameters of the conversation. These are kept in a
  815.       UCOMDIR NAMES file, similar to the NAMES file used by such things as the
  816.       NOTE exec. An example is shown below:
  817.  
  818.         :nick.SERVER
  819.         :luname.SERVER_LU CLIENT_LU
  820.         :tpn.AREXECD
  821.         :modename.#INTER
  822.         :security.NONE
  823.  
  824.  
  825.       This tells APPC/VM that a resource called SERVER can be located in the
  826.       VTAM subarea network by using gateway SERVER_LU to establish a session
  827.       with CLIENT_LU using logmode #INTER. The transaction program (TPN) to
  828.       start on that computer is called AREXECD. Once this is added to the
  829.       directory, the changes are activated by issuing:
  830.  
  831.       SET COMDIR RELOAD
  832.  
  833.       In addition, VTAM must be able to find the partner LU SERVER_LU.  In VTAM
  834.       V3R4, a session management exit may be defined to do this function.
  835.       Based on the LU name, the exit can be customized to determine which
  836.       Adjacent Link Station (this would typically be a PU2.1) to send the bind
  837.       to.  For pre-V3R4 VTAMs the LU must be defined.  An example of a
  838.       definition for a Switched Major Node is given below:
  839.  
  840.       PCSWNODE       VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
  841.       SERVER_LUP PU  ADDR=04,ISTATUS=ACTIVE,PACING=7,                        X
  842.                      MAXDATA=2044,IDBLK=05D,IDNUM=00100,                     X
  843.                      MAXOUT=7,PASSLIM=7,MAXPATH=1,                           X
  844.                      PUTYPE=2,LANSW=YES,                                     X
  845.                      MODETAB=AGWTAB,DLOGMOD=#INTER                           X
  846.       SERVER_LU LU   LOCADDR=0,ISTATUS=ACTIVE
  847.  
  848.   o   Configuration specific to the server computer
  849.  
  850.       In the AVS virtual machine definition, VMSERVER was configured as a
  851.       private server, and an LU definition in VTAM (SERVER_LU) assigned to it.
  852.       The following commands must be included in VMSERVER PROFILE EXEC to
  853.       configure it to run as a private resource server:
  854.  
  855.        'SET SERVER ON'
  856.        'SET FULLSCREEN OFF'
  857.        'SET AUTOREAD OFF'
  858.  
  859.       The following must be added to the $SERVER$ NAMES file on the VMSERVER
  860.       userid:
  861.  
  862.  
  863.         :nick.AREXECD :list.*
  864.                          :module.AREXECD
  865.  
  866.   +---------------------------------------------------------------------------+
  867.   |                                                                           |
  868.   | Configuration for MVS.                                                    |
  869.   |                                                                           |
  870.   +---------------------------------------------------------------------------+
  871.   +--- WARNING ---------------------------------------------------------------+
  872.   |                                                                           |
  873.   | The configuration instructions for MVS have not been fully tested.  If    |
  874.   | you have problems, please contact the author (indicated at the top of     |
  875.   | this file).                                                               |
  876.   |                                                                           |
  877.   +---------------------------------------------------------------------------+
  878.  
  879.   o   Where and how configuration changes are made
  880.  
  881.       APPC/MVS configuration is detailed in Planning: APPC
  882.       Management(GC28-1110).  In general it involves defining parameters for
  883.       two subsystems, APPC and ASCH. They run in separate address spaces. The
  884.       APPC address space handles the actual communications, while ASCH is a
  885.       scheduler that initiates transaction programs based on receipt of
  886.       incoming attaches. Beyond these two address spaces, some configuration is
  887.       required in VTAM.
  888.  
  889.       MVS/ESA 4.2 or later is required for APPC/MVS.
  890.  
  891.   o   The APPC/MVS Address Spaces
  892.  
  893.       Both APPC and ASCH have parmlib members that contain configuration
  894.       information for the respective address spaces. Samples are shipped with
  895.       MVS/ESA 4.2 or higher in SYS1.SAMPLIB. These samples can be modified and
  896.       copied into SYS1.PARMLIB to provide the parameters necessary to start the
  897.       respective subsystems. Their names in SYS1.SAMPLIB are APPCPMXX and
  898.       ASCHPMXX. The "XX" must be changed to a numeric value when the members
  899.       are placed in SYS1.PARMLIB. Below is a sample SYS1.PARMLIB(APPCPM00),
  900.       which is the default used at startup.
  901.  
  902.        /***PROPRIETARY_STATEMENT********************************************/
  903.        /*                                                                  */
  904.        /*                                                                  */
  905.        /* LICENSED MATERIALS - PROPERTY OF IBM                             */
  906.        /* THIS MACRO IS "RESTRICTED MATERIALS OF IBM"                      */
  907.        /* 5695-047 (C) COPYRIGHT IBM CORP. 1990                            */
  908.        /* SEE COPYRIGHT INSTRUCTIONS                                       */
  909.        /*                                                                  */
  910.        /* STATUS= HBB4420                                                  */
  911.        /*                                                                  */
  912.        /***END_OF_PROPRIETARY_STATEMENT*************************************/
  913.        /********************************************************************/
  914.        /*   This is a sample APPCPM00 member of SYS1.PARMLIB.              */
  915.        /*                                                                  */
  916.        /*   APPCPM00 parmlib members contain startup, default and          */
  917.        /*   customization values for APPC/MVS. They also contain           */
  918.        /*   information indicating the correspondence between              */
  919.        /*   logical unit(LU) names and transaction schedulers.             */
  920.        /*                                                                  */
  921.        /*   This member illustrates the syntax of the LUADD, LUDEL,        */
  922.        /*   LMADD, LMDEL and SIDEINFO statement types.                     */
  923.        /*                                                                  */
  924.        /*   NOTE:                                                          */
  925.        /*                                                                  */
  926.        /*   This SAMPLIB member is only an example. The value              */
  927.        /*   represented on each statement is not necessarily an            */
  928.        /*   IBM-recommended value.                                         */
  929.        /*   Installations may use this member as a sample, and             */
  930.        /*   modify it according to their needs.                            */
  931.        /*                                                                  */
  932.        /*   DO NOT COPY AND USE THIS SAMPLE WITHOUT PROVIDING THE          */
  933.        /*   NECESSARY SUPPORT FOR THE VALUES IT NAMES.                     */
  934.        /*                                                                  */
  935.        /********************************************************************/
  936.  
  937.  
  938.        /********************************************************************/
  939.        /*                                                                  */
  940.        /*   Define a local LU with the name TOMVSAP to the APPC/MVS        */
  941.        /*   configuration.                                                 */
  942.        /*                                                                  */
  943.        /*   Note:                                                          */
  944.        /*                                                                  */
  945.        /*   1. The VSAM data set specified on the TPDATA keyword           */
  946.        /*      must be already defined to the system, otherwise an         */
  947.        /*      error message will be issued.                               */
  948.        /*                                                                  */
  949.        /*   2. If this LU is intended to handle network traffic,           */
  950.        /*      then the LU name MVSLU01 must correspond to the             */
  951.        /*      ACBNAME operand of an application definition (APPL)         */
  952.        /*      statement in the SYS1.VTAMLST system library and            */
  953.        /*      the ACBNAME & APPL name must match.                         */
  954.        /*                                                                  */
  955.        /********************************************************************/
  956.          LUADD ACBNAME(TOMVSAP)     /* Add local LU MVSLU01 to the         */
  957.                                     /* APPC/MVS configuration              */
  958.                SCHED(ASCH)          /* Specify that the APPC/MVS           */
  959.                                     /* transaction scheduler is associated */
  960.                                     /* with this LU name                   */
  961.                BASE                 /* Designate this LU as the base LU    */
  962.                TPDATA(SYS1.APPCTP)  /* Specify that VSAM data set          */
  963.                                     /* SYS1.APPCTP is the permanent        */
  964.                                     /* repository for the TP profiles      */
  965.                                     /* for this LU                         */
  966.                TPLEVEL(USER)        /* Specify the search order for TP     */
  967.                                     /* profiles as :                       */
  968.                                     /* 1. TP profiles associated with      */
  969.                                     /*    a specific user                  */
  970.                                     /* 2. TP profiles associated with      */
  971.                                     /*    a group of users                 */
  972.                                     /* 3. TP profiles associated with      */
  973.                                     /*    all users of the LU name         */
  974.  
  975.        /********************************************************************/
  976.        /*                                                                  */
  977.        /*   Specify that Side information is to be kept in VSAM            */
  978.        /*   data set SYS1.APPCSI.                                          */
  979.        /*                                                                  */
  980.        /*   Note:                                                          */
  981.        /*                                                                  */
  982.        /*   1. If the SIDEINFO statement is specified with no operands     */
  983.        /*      then the default will be:                                   */
  984.        /*      o DATASET(SYS1.APPCSI)                                      */
  985.        /*                                                                  */
  986.        /*   2. The VSAM data set specified on the DATASET keyword          */
  987.        /*      must be already defined to the system, otherwise an         */
  988.        /*      error message will be issued.                               */
  989.        /*                                                                  */
  990.        /********************************************************************/
  991.          SIDEINFO DATASET(SYS1.APPCSI) /* Specify that VSAM data set       */
  992.                                        /* SYS1.APPCSI is the permanent     */
  993.                                        /* repository for the side          */
  994.                                        /* information                      */
  995.  
  996.       Below is a sample ASCHPM00 parmlib member.
  997.  
  998.        /*01* PROPRIETARY STATEMENT=                                        */
  999.        /***PROPRIETARY_STATEMENT********************************************/
  1000.        /*                                                                  */
  1001.        /*                                                                  */
  1002.        /* LICENSED MATERIALS - PROPERTY OF IBM                             */
  1003.        /* THIS MACRO IS "RESTRICTED MATERIALS OF IBM"                      */
  1004.        /* 5695-047 (C) COPYRIGHT IBM CORP. 1990                            */
  1005.        /* SEE COPYRIGHT INSTRUCTIONS                                       */
  1006.        /*                                                                  */
  1007.        /* STATUS= HBB4420                                                  */
  1008.        /*                                                                  */
  1009.        /***END_OF_PROPRIETARY_STATEMENT*************************************/
  1010.        /********************************************************************/
  1011.        /*   This is a sample ASCHPM00 member of SYS1.PARMLIB.              */
  1012.        /*                                                                  */
  1013.        /*   ASCHPMxx parmlib members contain startup, default and          */
  1014.        /*   customization values for the APPC/MVS transaction scheduler.   */
  1015.        /*   These parmlib members define classes of transaction            */
  1016.        /*   initiators in which a transaction program can run.             */
  1017.        /*                                                                  */
  1018.        /*   This member illustrates the syntax of the CLASSADD,            */
  1019.        /*   OPTIONS and TPDEFAULT statement types.                         */
  1020.        /*                                                                  */
  1021.        /*   NOTE:                                                          */
  1022.        /*                                                                  */
  1023.        /*   This SAMPLIB member is only an example. The value              */
  1024.        /*   represented on each statement is not necessarily an            */
  1025.        /*   IBM-recommended value.                                         */
  1026.        /*   Installations may use this member as a sample, and             */
  1027.        /*   modify it according to their needs.                            */
  1028.        /*                                                                  */
  1029.        /*   DO NOT COPY AND USE THIS SAMPLE WITHOUT PROVIDING THE          */
  1030.        /*   NECESSARY SUPPORT FOR THE VALUES IT NAMES.                     */
  1031.        /*                                                                  */
  1032.        /********************************************************************/
  1033.  
  1034.  
  1035.        /********************************************************************/
  1036.        /*                                                                  */
  1037.        /*   Define a class of transaction initiators to be added to        */
  1038.        /*   the APPC/MVS transaction scheduler configuration.              */
  1039.        /*   The class has the following characteristics:                   */
  1040.        /*         o Class name - FAST                                      */
  1041.        /*         o Maximum number of transaction initiators allowed - 10  */
  1042.        /*         o Minimum number of transaction initiators to be         */
  1043.        /*           brought up - 2                                         */
  1044.        /*         o Response time goal - 0.02 seconds                      */
  1045.        /*         o Maximum size of the job log for TPs - 500 messages     */
  1046.        /*                                                                  */
  1047.        /********************************************************************/
  1048.          CLASSADD CLASSNAME(FAST)   /* Specify the name of the class to be */
  1049.                                     /* added                               */
  1050.                   MAX(10)           /* Specify that the maximum number     */
  1051.                                     /* of transaction initiators allowed   */
  1052.                                     /* for this class is 10                */
  1053.                   MIN(2)            /* Specify that the minimum number     */
  1054.                                     /* of transaction initiators to be     */
  1055.                                     /* brought up for this class is 2      */
  1056.                   RESPGOAL(.02)     /* Specify that the response time      */
  1057.                                     /* goal for transaction programs       */
  1058.                                     /* executing within this class is 0.02 */
  1059.                                     /* seconds                             */
  1060.                   MSGLIMIT(500)     /* Specify that the maximum size of    */
  1061.                                     /* the job logs for TPs is 500         */
  1062.                                     /* messages                            */
  1063.  
  1064.        /********************************************************************/
  1065.        /*                                                                  */
  1066.        /*   Define a class of transaction initiators to be added to        */
  1067.        /*   the APPC/MVS transaction scheduler configuration.              */
  1068.        /*   The class has the following characteristics:                   */
  1069.        /*         o Class name - SLOW                                      */
  1070.        /*         o Maximum number of transaction initiators allowed - 1   */
  1071.        /*         o Minimum number of transaction initiators to be         */
  1072.        /*           brought up - 0                                         */
  1073.        /*         o Response time goal - 1 second                          */
  1074.        /*         o Maximum size of the job log for TPs - 500 messages     */
  1075.        /*                                                                  */
  1076.        /*   Note:                                                          */
  1077.        /*                                                                  */
  1078.        /*   1. Defaults are used if keywords are omitted from a            */
  1079.        /*      CLASSADD statement except for the CLASSNAME.                */
  1080.        /*                                                                  */
  1081.        /*   2. The following defaults will be taken for this entry:        */
  1082.        /*      o MAX(1)                                                    */
  1083.        /*      o MIN(0)                                                    */
  1084.        /*      o RESPGOAL(1)                                               */
  1085.        /*      o MSGLIMIT(500)                                             */
  1086.        /*                                                                  */
  1087.        /********************************************************************/
  1088.          CLASSADD CLASSNAME(SLOW)   /* Specify the name of the class to be */
  1089.                                     /* added                               */
  1090.  
  1091.        /********************************************************************/
  1092.        /*                                                                  */
  1093.        /*   Define the APPC/MVS transaction scheduler configuration        */
  1094.        /*   default class in which to run transaction programs when a      */
  1095.        /*   classname is not specified in the TP profile, and define       */
  1096.        /*   the subsystem to which all newly created APPC/MVS              */
  1097.        /*   transaction initiators are assigned.                           */
  1098.        /*                                                                  */
  1099.        /*   Note:                                                          */
  1100.        /*                                                                  */
  1101.        /*   1. There is no default for the DEFAULT keyword.                */
  1102.        /*                                                                  */
  1103.        /*   2. The default SUBSYS(Primary subsystem name) will only        */
  1104.        /*      apply when there is no prior SUBSYS defined to the          */
  1105.        /*      APPC/MVS transaction scheduler configuration.               */
  1106.        /*                                                                  */
  1107.        /********************************************************************/
  1108.          OPTIONS DEFAULT(SLOW)      /* Specify the default class           */
  1109.                  SUBSYS(JES2)       /* Specify the name of a subsystem     */
  1110.  
  1111.       Note that both SYS1.APPCTP and SYS1.APPCSI must be defined prior to
  1112.       starting APPC and ASCH. Below are sample jobs to do these tasks:
  1113.  
  1114.       //ATBTP01  JOB CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
  1115.       /*JOBPARM LINES=9999,TIME=1440
  1116.       //*************************************************************/
  1117.       //*                                                           */
  1118.       //*  THIS IS A SAMPLE DEFINITION FOR A VSAM KEY SEQUENCED     */
  1119.       //*  DATA SET (KSDS) TO CONTAIN APPC TP PROFILES.  YOU CAN    */
  1120.       //*  USE THIS SAMPLE OR MODIFY IT.                            */
  1121.       //*                                                           */
  1122.       //*  A TP PROFILE ENTRY CONTAINS IDENTIFICATION, SECURITY,    */
  1123.       //*  AND SCHEDULING INFORMATION FOR A TP THAT RESPONDS TO     */
  1124.       //*  AN INBOUND ALLOCATE REQUEST.                             */
  1125.       //*                                                           */
  1126.       //*                                                           */
  1127.       //*    SHAREOPTIONS(3 3) -                                    */
  1128.       //*                                                           */
  1129.       //*       MUST BE (3 3) BECAUSE THE APPC SUBSYSTEM REFERENCES */
  1130.       //*       THIS KSDS IN SUCH A WAY THAT IT MUST BE FULLY       */
  1131.       //*       SHARED.                                             */
  1132.       //*                                                           */
  1133.       //*    RECORDSIZE(3824 7024) -                                */
  1134.       //*                                                           */
  1135.       //*       THIS IS THE AVERAGE AND MAXIMUM RECORD SIZE.        */
  1136.       //*                                                           */
  1137.       //*       AVERAGE CALCULATION:                                */
  1138.       //*                                                           */
  1139.       //*         TP PROFILE KEY                     112 BYTES      */
  1140.       //*         NON JCL DATA (maximum possible)    512 BYTES      */
  1141.       //*         JCL  (40 LINE OF  80 BYTES)       3200 BYTES      */
  1142.       //*        ------------                     -------------     */
  1143.       //*         TOTAL                             3824 BYTES      */
  1144.       //*                                                           */
  1145.       //*       MAXIMUM CALCULATION:                                */
  1146.       //*                                                           */
  1147.       //*         TP PROFILE KEY                     112 BYTES      */
  1148.       //*         NON JCL DATA (maximum possible)    512 BYTES      */
  1149.       //*         JCL  (80 LINE OF  80 BYTES)       6400 BYTES      */
  1150.       //*        ------------                     -------------     */
  1151.       //*         TOTAL                             7024 BYTES      */
  1152.       //*                                                           */
  1153.       //*                                                           */
  1154.       //*  THIS KSDS IS DESIGNED TO HOLD 300 TP PROFILES            */
  1155.       //*  BUT CAN EXPAND TO HOLD AN ADDITIONAL 150.                */
  1156.       //*                                                           */
  1157.       //*  CHANGES:                                                 */
  1158.       //*                                                           */
  1159.       //*    - REPLACE CNMSTC WITH THE NAME OF YOUR VOLUME.         */
  1160.       //*    - REPLACE, IF NECESSARY, SYS1.APPCTP WITH THE NAME     */
  1161.       //*        OF YOUR TP PROFILE DATASET.                        */
  1162.       //*    - REPLACE, IF NECESSARY, THE RECORDS VALUES WITH THE   */
  1163.       //*        NUMBER OF TP PROFILES THE KSDS IS DESIGNED TO HOLD */
  1164.       //*        AND THE EXPANSION NUMBER.                          */
  1165.       //*                                                           */
  1166.       //*************************************************************/
  1167.       //TPSAMPLE EXEC PGM=IDCAMS
  1168.       //CNMSTC   DD   DISP=OLD,UNIT=3380,VOL=SER=CNMSTC
  1169.       //SYSPRINT DD   SYSOUT=*
  1170.       //SYSABEND DD   SYSOUT=*
  1171.       //AMSDUMP  DD   SYSOUT=*
  1172.       //SYSIN    DD   *
  1173.               DEFINE CLUSTER (NAME(SYS1.APPCTP) -
  1174.                   VOLUMES(CNMSTC) -
  1175.                   INDEXED REUSE -
  1176.                   SHAREOPTIONS(3 3) -
  1177.                   RECORDSIZE(3824 7024) -
  1178.                   KEYS(112 0) -
  1179.                   RECORDS(300 150)) -
  1180.                 DATA -
  1181.                   (NAME(SYS1.APPCTP.DATA)) -
  1182.                 INDEX -
  1183.                   (NAME(SYS1.APPCTP.INDEX))
  1184.       /*
  1185.       //ATBSI02  JOB CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
  1186.       /*JOBPARM LINES=9999,TIME=1440
  1187.       //*************************************************************/
  1188.       //*                                                           */
  1189.       //*  THIS IS A SAMPLE DEFINITION FOR A VSAM KEY SEQUENCED     */
  1190.       //*  DATA SET (KSDS) TO CONTAIN APPC SIDE INFORMATION.        */
  1191.       //*  YOU CAN USE THIS SAMPLE OR MODIFY IT.                    */
  1192.       //*                                                           */
  1193.       //*  A SIDE INFORMATION ENTRY CONTAINS THE TRANSLATION OF A   */
  1194.       //*  SYMBOLIC DESTINATION NAME THAT IS USED TO INITIATE AN    */
  1195.       //*  APPC CONVERSATION.  THE SIDE INFORMATION ENTRY CONSISTS  */
  1196.       //*  OF:                                                      */
  1197.       //*                                                           */
  1198.       //*      SI KEY                        112 BYTES              */
  1199.       //*      SI DATA                       136 BYTES              */
  1200.       //*     ---------                     -----------             */
  1201.       //*      TOTAL                         248 BYTES              */
  1202.       //*                                                           */
  1203.       //*  THIS KSDS IS DESIGNED TO HOLD 50 SIDE INFORMATION        */
  1204.       //*  ENTRIES BUT CAN EXPAND TO HOLD AN ADDITIONAL 25.         */
  1205.       //*                                                           */
  1206.       //*  CHANGES:                                                 */
  1207.       //*                                                           */
  1208.       //*   - REPLACE CNMSTC WITH THE NAME OF YOUR VOLUME.          */
  1209.       //*   - REPLACE, IF NECESSARY, SYS1.APPCSI WITH THE NAME OF   */
  1210.       //*         YOUR SIDE INFORMATION REPOSITORY.                 */
  1211.       //*   - REPLACE, IF NECESSARY, THE RECORDS VALUES WITH THE    */
  1212.       //*         NUMBER OF ENTRIES THE KSDS IS DESIGNED TO HOLD    */
  1213.       //*         AND THE EXPANSION NUMBER.                         */
  1214.       //*                                                           */
  1215.       //*************************************************************/
  1216.       //SISAMPLE EXEC PGM=IDCAMS
  1217.       //CNMSTC   DD   DISP=OLD,UNIT=3380,VOL=SER=CNMSTC
  1218.       //SYSPRINT DD   SYSOUT=*
  1219.       //SYSABEND DD   SYSOUT=*
  1220.       //AMSDUMP  DD   SYSOUT=*
  1221.       //SYSIN    DD   *
  1222.               DEFINE CLUSTER (NAME(SYS1.APPCSI) -
  1223.                   VOLUME(CNMSTC) -
  1224.                   INDEXED REUSE -
  1225.                   SHAREOPTIONS(3 3) -
  1226.                   RECORDSIZE(248 248) -
  1227.                   KEYS(112 0) -
  1228.                   RECORDS(50 25)) -
  1229.                 DATA -
  1230.                   (NAME(SYS1.APPCSI.DATA)) -
  1231.                 INDEX -
  1232.                   (NAME(SYS1.APPCSI.INDEX))
  1233.  
  1234.       For AREXECD to be scheduled by ASCH, a transaction program (TP) profile
  1235.       must be created. This information is loaded into the TP profile VSAM
  1236.       dataset. Below is a sample job to do this:
  1237.  
  1238.       //ATBTP01  JOB CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
  1239.       //*************************************************************
  1240.       //STEP     EXEC PGM=ATBSDFMU
  1241.       //SYSPRINT DD   SYSOUT=*
  1242.       //SYSSDLIB DD   DSN=SYS1.APPCTP,DISP=SHR
  1243.       //SYSSDOUT DD   SYSOUT=*
  1244.       //SYSIN    DD   DATA,DLM=XX
  1245.            TPADD
  1246.                 TPNAME(AREXECD)
  1247.                 ACTIVE(YES)
  1248.                 TPSCHED_DELIMITER(##)
  1249.                    TAILOR_SYSOUT(NO)
  1250.                    TAILOR_ACCOUNT(NO)
  1251.                    CLASS(FAST)
  1252.                    TPSCHED_TYPE(STANDARD)
  1253.                    JCL_DELIMITER(END_OF_JCL)
  1254.       //ATBAPING JOB  ,IBMUSER
  1255.       //STEP1    EXEC PGM=AREXECD
  1256.       //STEPLIB  DD DSN=IBMUSER.LOADLIB,DISP=SHR
  1257.       //         DD DSN=EDC.V2R1M0.SEDCLINK,DISP=SHR
  1258.       //         DD DSN=PLI.V2R3M0.SIBMLINK,DISP=SHR
  1259.       END_OF_JCL
  1260.       ##
  1261.       XX
  1262.       /*
  1263.  
  1264.       In the above, the load module for AREXECD is assumed to reside in
  1265.       IBMUSER.LOADLIB. Also, note the CLASS is FAST, and those parameters were
  1266.       defined in the ASCHPM00 member above.
  1267.  
  1268.       If AREXEC is to use CPI-C side information, the side information must be
  1269.       loaded into the side information VSAM data set, SYS1.APPCSI.  Below is a
  1270.       sample job to perform this function:
  1271.  
  1272.       //ATBSI01  JOB CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
  1273.       //*************************************************************
  1274.       //STEP     EXEC PGM=ATBSDFMU
  1275.       //SYSPRINT DD   SYSOUT=*
  1276.       //SYSSDLIB DD   DSN=SYS1.APPCSI,DISP=SHR
  1277.       //SYSSDOUT DD   SYSOUT=*
  1278.       //SYSIN    DD   *
  1279.            SIADD
  1280.                 DESTNAME(IBMRTP)
  1281.                 TPNAME(AREXECD)
  1282.                 MODENAME(#INTER)
  1283.                 PARTNER_LU(SERVER_LU)
  1284.       /*
  1285.  
  1286.       In the above example, the side information name IBMRTP will designate the
  1287.       partner TP AREXECD at partner LU SERVER_LU using mode #INTER.
  1288.  
  1289.       In order to start the two subsystems, the commands:
  1290.  
  1291.       START APPC,SUB=MSTR
  1292.       START ASCH,SUB=MSTR
  1293.  
  1294.       must be issued at the console. These commands use the SYS1.PROCLIB
  1295.       members APPC and ASCH, shipped with MVS/ESA 4.2 or higher.
  1296.  
  1297.   o   VTAM
  1298.  
  1299.       The application name for the APPC/MVS LU must be defined. The following
  1300.       example shows this. While this shows only one LU definition, it is
  1301.       possible for APPC/MVS to have multiple LU definitions that can be used
  1302.       for different purposes.
  1303.       AB7APPLS  VBUILD TYPE=APPL
  1304.       TOMVSAP APPL ACBNAME=TOMVSAP,APPC=YES,AUTOSES=5,DDRAINL=NALLOW,        *
  1305.                      DMINWNL=3,DMINWNR=6,DRESPL=NALLOW,DSESLIM=9,EAS=509,    *
  1306.                      MODETAB=APPCMODE,SECACPT=CONV,VPACING=2,VERIFY=NONE,    *
  1307.                      SRBEXIT=YES,DLOGMOD=#INTER
  1308.  
  1309.       Note that the LU name (TOMVSAP) matches the name defined in the PARMLIB
  1310.       member APPCPM00. The default mode name is #INTER, which is included in
  1311.       mode table APPCMODE. #INTER is an architected mode name.  In general,
  1312.       mode names used should be from the set of architected ones. Below is a
  1313.       mode table containing these architected modes.
  1314.  
  1315.       APPCMODE MODETAB
  1316.       **********************************************************************
  1317.       *        LOGMODE TABLE ENTRY FOR RESOURCES CAPABLE OF ACTING         *
  1318.       *                                AS LU 6.2 DEVICES      @R495812 @KFC*
  1319.       **********************************************************************
  1320.       SNASVCMG MODEENT LOGMODE=SNASVCMG,FMPROF=X'13',TSPROF=X'07',           *
  1321.                      PRIPROT=X'B0',SECPROT=X'B0',COMPROT=X'D0B1',            *
  1322.                      RUSIZES=X'8686',ENCR=B'0000',SSNDPAC=7,          *@KFC* *
  1323.                      PSERVIC=X'060200000000000000000300',         *@R495812* *
  1324.                      SRCVPAC=7,PSNDPAC=7,TYPE=0                       *@KFA*
  1325.                TITLE '#BATCH'                                         *@KFA*
  1326.       ***********************************************************************
  1327.       *                                                                     *
  1328.       *        LOGMODE TABLE FOR BATCH SESSIONS ON RESOURCES CAPABLE        *
  1329.       *        OF ACTING AS LU 6.2 DEVICES                                  *
  1330.       *                                                                 @KFA*
  1331.       ***********************************************************************
  1332.       #BATCH   MODEENT LOGMODE=#BATCH,                                *@KFA* *
  1333.                      ENCR=B'0000',SSNDPAC=3,                          *@KFA* *
  1334.                      SRCVPAC=3,PSNDPAC=3                              *@KFA*
  1335.                TITLE '#INTER'                                         *@KFA*
  1336.       ***********************************************************************
  1337.       *                                                                     *
  1338.       *        LOGMODE TABLE FOR INTERACTIVE SESSIONS ON RESOURCES          *
  1339.       *        CAPABLE OF ACTING AS LU 6.2 DEVICES                          *
  1340.       *                                                                 @KFA*
  1341.       ***********************************************************************
  1342.       #INTER   MODEENT LOGMODE=#INTER,                                *@KFA* *
  1343.                      ENCR=B'0000',SSNDPAC=7,                          *@KFA* *
  1344.                      SRCVPAC=7,PSNDPAC=7                              *@KFA*
  1345.                TITLE '#BATCHSC'                                       *@KFA*
  1346.       ***********************************************************************
  1347.       *                                                                     *
  1348.       *        LOGMODE TABLE FOR BATCH SESSIONS REQUIRING SECURE            *
  1349.       *        TRANSPORT ON RESOURCES CAPABLE OF ACTING AS LU 6.2           *
  1350.       *        DEVICES                                                      *
  1351.       *                                                                 @KFA*
  1352.       ***********************************************************************
  1353.       #BATCHSC MODEENT LOGMODE=#BATCHSC,                              *@KFA* *
  1354.                      ENCR=B'0000',SSNDPAC=3,                          *@KFA* *
  1355.                      SRCVPAC=3,PSNDPAC=3                              *@KFA*
  1356.  
  1357.                TITLE '#INTERSC'                                       *@KFA*
  1358.       ***********************************************************************
  1359.       *                                                                     *
  1360.       *        LOGMODE TABLE FOR INTERACTIVE SESSIONS REQUIRING             *
  1361.       *        SECURE TRANSPORT ON RESOURCES CAPABLE OF ACTING AS           *
  1362.       *        LU 6.2 DEVICES                                               *
  1363.       *                                                                 @KFA*
  1364.       ***********************************************************************
  1365.       #INTERSC MODEENT LOGMODE=#INTERSC,                              *@KFA* *
  1366.                      ENCR=B'0000',SSNDPAC=7,                          *@KFA* *
  1367.                      SRCVPAC=7,PSNDPAC=7                              *@KFA*
  1368.                TITLE 'CPSVCMG'                                        *@KFA*
  1369.       ***********************************************************************
  1370.       *                                                                     *
  1371.       *        LOGMODE TABLE FOR CP-CP SESSIONS ON RESOURCES CAPABLE        *
  1372.       *        OF ACTING AS LU 6.2 DEVICES                                  *
  1373.       *                                                                 @KFA*
  1374.       ***********************************************************************
  1375.       CPSVCMG  MODEENT LOGMODE=CPSCVMG,                               *@KFA* *
  1376.                      RUSIZES=X'8686',ENCR=B'0000',                    *@KFA* *
  1377.                      SSNDPAC=7,SRCVPAC=7,PSNDPAC=7                    *@KFA*
  1378.                MODEEND
  1379.                END
  1380.  
  1381.       This table should be assembled and placed in a dataset defined to STEPLIB
  1382.       in the VTAM start procedure.
  1383.  
  1384.       VTAM must also be able to find the partner LU SERVER_LU.  In VTAM V3R4, a
  1385.       session management exit may be defined to do this function.  Based on the
  1386.       LU name, the exit can be customized to determine which Adjacent Link
  1387.       Station (this would typically be a PU2.1) to send the bind to.  For
  1388.       pre-V3R4 VTAMs the LU must be defined.  An example of a definition for a
  1389.       Switched Major Node is given below:
  1390.  
  1391.       PCSWNODE       VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
  1392.       SERVER_LUP PU  ADDR=04,ISTATUS=ACTIVE,PACING=7,                        X
  1393.                      MAXDATA=2044,IDBLK=05D,IDNUM=00100,                     X
  1394.                      MAXOUT=7,PASSLIM=7,MAXPATH=1,                           X
  1395.                      PUTYPE=2,LANSW=YES,                                     X
  1396.                      MODETAB=AGWTAB,DLOGMOD=#INTER                           X
  1397.       SERVER_LU LU   LOCADDR=0,ISTATUS=ACTIVE
  1398.  
  1399.   +---------------------------------------------------------------------------+
  1400.   |                                                                           |
  1401.   | Configuration for AS/400                                                  |
  1402.   |                                                                           |
  1403.   +---------------------------------------------------------------------------+
  1404.  
  1405.   o   General configuration tools
  1406.  
  1407.       -   Where and how configuration changes are made
  1408.  
  1409.  
  1410.  
  1411.           AS/400 configuration is performed through a series of menu driven
  1412.           panels.  You can access these panels either by proceeding through a
  1413.           series of menu choices, or by entering the command name directly.
  1414.  
  1415.       -   How to make your configuration changes active
  1416.  
  1417.           Unless specifically noted, all configuration changes are active and
  1418.           usable as soon as they are entered.
  1419.  
  1420.   o   Configuration changes common to client and server computers
  1421.  
  1422.       -   Defining a local LU During the AS/400 installation process, at least
  1423.           one local LU was configured.  This is the LU that will be used when
  1424.           you run the AREXEC client.  When your computer is acting as a server,
  1425.           this is the LU name that should be configured on the client platform
  1426.           as the partner LU.
  1427.  
  1428.           You can find your local LU on the Display Network Attributes panel.
  1429.           You can find this panel through the following sequence:
  1430.  
  1431.               define_local_cp  fq_cp_name(NETWORK_NAME.CLIENT_LU)
  1432.             7. Define or change the system
  1433.                 1. Configuration
  1434.                     4. Network management
  1435.                         1. Display network attributes
  1436.  
  1437.           You will see a panel similar to the following:
  1438.  
  1439.                                        Display Network Attributes
  1440.                                                         System:   CLIENT_LU
  1441.              Current system name  . . . . . . . . . . . . . . :   CLIENT_LU
  1442.                Pending system name  . . . . . . . . . . . . . :
  1443.              Local network ID . . . . . . . . . . . . . . . . :   NETWORK_NAME
  1444.              Local control point name . . . . . . . . . . . . :   CLIENT_LU
  1445.              Default local location . . . . . . . . . . . . . :   CLIENT_LU
  1446.              Default mode . . . . . . . . . . . . . . . . . . :   BLANK
  1447.              APPN node type . . . . . . . . . . . . . . . . . :   *NETNODE
  1448.              Maximum number of intermediate sessions  . . . . :   200
  1449.              Route addition resistance  . . . . . . . . . . . :   128
  1450.              Server network ID/control point name . . . . . . :
  1451.  
  1452.           The local LU is NETWORK_NAME.CLIENT_LU.
  1453.  
  1454.       -   Defining a partner LU and Defining a link to a partner computer or to
  1455.           the network node
  1456.  
  1457.           On the AS/400, you can define your partner LU name and a logical link
  1458.           from the same configuration panel.  A controller description is used
  1459.           to describe all the characteristics of an adjacent computer.
  1460.  
  1461.           You can access controller descriptions through the CRTCTLAPPC or
  1462.           CHGCTLAPPC commands (Create/Change Controller Description, APPC).
  1463.  
  1464.  
  1465.           The following example shows only the fields of the controller
  1466.           description that need to be changed.  You can allow the other fields
  1467.           to use the defaults.
  1468.  
  1469.             CRTCTLAPPC
  1470.                     Controller Description                > SERVER_LU
  1471.                     Link type                             > *LAN
  1472.                     Online at IPL                         > *YES
  1473.                     APPN-capable                          > *YES
  1474.                     Switched line list                    > TRLAN
  1475.                     Remote network identifier             > NETWORK_NAME
  1476.                     Remote control point                  > SERVER_LU
  1477.                     LAN remote adapter address            > 400000000001
  1478.                     APPN CP session support               > *YES
  1479.                     APPN node type                        > *ENDNODE
  1480.                     APPN transmission group number        > *CALC
  1481.  
  1482.           This example has used a token ring line description named TRLAN.  To
  1483.           work with these line descriptions, use CRTLINTRN or CHGLINTRN.  To
  1484.           use other DLC types, use CRTLINSDLC, CRTLINX25, CHGLINSDLC,
  1485.           CHGLINX25).
  1486.  
  1487.   o   Configuration changes specific to the client computer
  1488.  
  1489.       No special configuration is needed for AS/400 to configure the AREXEC
  1490.       client.
  1491.  
  1492.   o   Configuration changes specific to the server computer
  1493.  
  1494.       -   Defining the TP To configure the server side for AS/400, all you have
  1495.           to do is change the User Library List.  The library where the AREXECD
  1496.           program resides should be added to the list.
  1497.  
  1498.           To access the User Library List:
  1499.  
  1500.           --  Run the WRKSYSVAL command.
  1501.  
  1502.           --  Page down until you find the QUSRLIBL system value, select 2 for
  1503.               change.
  1504.  
  1505.           --  Add the library (usually AREXEC) to the list.
  1506.  
  1507.   +---------------------------------------------------------------------------+
  1508.   |                                                                           |
  1509.   | Configuration for AIX SNA Services                                        |
  1510.   |                                                                           |
  1511.   +---------------------------------------------------------------------------+
  1512.  
  1513.   o   General configuration tools
  1514.  
  1515.       -   Where and how configuration changes are made
  1516.  
  1517.           Configuration for AIX SNA Services can be done through either SMIT
  1518.           configuration panels, or importing ascii configuration files.  The
  1519.           examples shown below will be excerpts from an ascii configuration
  1520.           file.  You can either import these excerpts, or use them as a guide
  1521.           while configuring using SMIT.
  1522.  
  1523.       -   How to make your configuration changes active
  1524.  
  1525.           The proper sequence of commands to change your configuration and make
  1526.           the changes active is:
  1527.  
  1528.             stopsrc -s sna
  1529.             importsna -l appc.pro
  1530.             startsrc -s sna
  1531.  
  1532.   o   Configuration changes common to client and server computers
  1533.  
  1534.       -   Defining a local LU
  1535.  
  1536.           The definition of a local LU involves defining a control point and a
  1537.           local LU.
  1538.  
  1539.           The control point definition should be:
  1540.  
  1541.             CLIENT_LU_CONTROL POINT:
  1542.                     type = CONTROLPOINT
  1543.                     profile_name = LOCALCP
  1544.                     xid_node_id = 07100000
  1545.                     network_name = NETWORK_NAME
  1546.                     cp_name = CLIENT_LU
  1547.  
  1548.           Where NETWORK_NAME and CLIENT_LU should be changed for your
  1549.           environment.
  1550.  
  1551.           The local LU definition should be:
  1552.  
  1553.             CLIENT_LU_LOCAL LU:
  1554.                     type = LOCALLU
  1555.                     profile_name = LOCALLU
  1556.                     local_lu_name = CLIENT_LU
  1557.                     network_name = NETWORK_NAME
  1558.                     lu_type = lu6.2
  1559.                     independent_lu = yes
  1560.                     cp_sessions = no
  1561.                     tpn_list_name = LOCALTPS
  1562.                     local_lu_address = 1
  1563.                     sscp_id = *
  1564.                     number_of_rows = 24
  1565.                     number_of_columns = 80
  1566.  
  1567.       -   Defining a partner LU and Defining a link to a partner computer or to
  1568.           the network node
  1569.  
  1570.           The definition of a partner will require a number of steps:
  1571.  
  1572.           1.  Define the physical interface
  1573.               This tells AIX SNA Services about the physical interface
  1574.               characteristics.
  1575.  
  1576.               For token ring, this can be done with:
  1577.  
  1578.                 LOCAL_TOKEN RING LOGICAL:
  1579.                         type = TOKENRINGLOGICAL
  1580.                         profile_name = LOCALLL
  1581.                         transmit_window_count = 10
  1582.                         dynamic_window_increment = 1
  1583.                         retransmit_count = 8
  1584.                         receive_window_count = 127
  1585.                         ring_access_priority = 0
  1586.                         inactivity_timeout = 75
  1587.                         drop_link_on_inactivity = yes
  1588.                         response_timeout = 2
  1589.                         acknowledgement_timeout = 1
  1590.                         force_disconnect_timeout = 120
  1591.                         link_trace = no
  1592.                         trace_entry_size = long
  1593.                         logical_link_type = token_ring
  1594.                         maximum_i_field = system_defined
  1595.                         maximum_i_field_size = 30729
  1596.                         physical_link_type = token_ring
  1597.  
  1598.                 LOCAL_TOKEN RING PHYSICAL:
  1599.                         type = TOKENRINGPHYSICAL
  1600.                         profile_name = LOCALPL
  1601.                         device_name = tok0
  1602.                         local_link_name = NONE
  1603.                         local_sap_address = 04
  1604.                         physical_link_type = token_ring
  1605.                         maximum_number_of_logical_links = 32
  1606.  
  1607.           2.  Define attachment profiles
  1608.  
  1609.               These profiles specify the address and link characteristics for
  1610.               connecting to your partner at the link level.  There are
  1611.               attachment profiles for incoming link activations (listen) and
  1612.               outgoing link activations (call).  In order to allow either side
  1613.               to activate the link, you must define both a listen and a call
  1614.               attachment profile.  The listen attachment must be started before
  1615.               the partner tries to activate the link by executing a command:
  1616.  
  1617.                 startsrc -t attachment -o LISTEN_PARTNER
  1618.  
  1619.               The listen attachment is defined as follows:
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.                 LISTEN_ATTACHMENT:
  1627.                         type = ATTACHMENT
  1628.                         profile_name = LISTEN
  1629.                         control_point_profile_name = LOCALCP
  1630.                         logical_link_profile_name = LOCALLL
  1631.                         physical_link_profile_name = LOCALPL
  1632.                         logical_link_type = token_ring
  1633.                         stop_attachment_on_inactivity = no
  1634.                         station_type = secondary
  1635.                         physical_link_type = token_ring
  1636.                         remote_secondary_station_address = 1
  1637.                         smart_modem_command_sequence =
  1638.                         length_of_command_sequence = 0
  1639.                         call_type = listen
  1640.                         x25_level = 1984
  1641.                         listen_name = IBMQLLC
  1642.                         autolisten = yes
  1643.                         timeout_value = 0
  1644.                         remote_link_name_ethernet =
  1645.                         remote_link_name_token_ring =
  1646.                         remote_link_address =
  1647.                         selection_sequence =
  1648.                         length_of_selection_sequence = 0
  1649.                         network_type = switched
  1650.                         access_routing = link_address
  1651.                         remote_sap_address = 04
  1652.                         remote_sap_address_range_lower = 04
  1653.                         remote_sap_address_range_upper = EC
  1654.                         virtual_circuit_type = permanent
  1655.                         remote_station_X.25_address =
  1656.                         optional_X.25_facilities = no
  1657.                         logical_channel_number_of_PVC = 1
  1658.                         reverse_charging = no
  1659.                         rpoa = no
  1660.                         default_packet_size = yes
  1661.                         default_window_size = yes
  1662.                         default_throughput_class = yes
  1663.                         closed_user_group = no
  1664.                         closed_user_group_outgoing = no
  1665.                         network_user_id = no
  1666.                         network_user_id_name =
  1667.                         data_network_identification_code =
  1668.                         packet_size_for_received_data = 128
  1669.                         packet_size_for_transmit_data = 128
  1670.                         window_size_for_received_data = 4
  1671.                         window_size_for_transmit_data = 4
  1672.                         throughput_class_for_received_data = 1200
  1673.                         throughput_class_for_transmit_data = 1200
  1674.                         index_to_selected_closed_user_group = 0
  1675.                         lu_address_registration = no
  1676.                         lu_address_registration_name = LDEFAULT
  1677.  
  1678.               The call attachment is defined as follows:
  1679.  
  1680.                 CALL_ATTACHMENT:
  1681.                         type = ATTACHMENT
  1682.                         profile_name = CALL
  1683.                         control_point_profile_name = LOCALCP
  1684.                         logical_link_profile_name = LOCALLL
  1685.                         physical_link_profile_name = LOCALPL
  1686.                         logical_link_type = token_ring
  1687.                         stop_attachment_on_inactivity = no
  1688.                         station_type = secondary
  1689.                         physical_link_type = token_ring
  1690.                         remote_secondary_station_address = 1
  1691.                         smart_modem_command_sequence =
  1692.                         length_of_command_sequence = 0
  1693.                         call_type = call
  1694.                         x25_level = 1984
  1695.                         listen_name = IBMQLLC
  1696.                         autolisten = no
  1697.                         timeout_value = 0
  1698.                         remote_link_name_ethernet =
  1699.                         remote_link_name_token_ring =
  1700.                         remote_link_address = 400000000001
  1701.                         selection_sequence =
  1702.                         length_of_selection_sequence = 0
  1703.                         network_type = switched
  1704.                         access_routing = link_address
  1705.                         remote_sap_address = 04
  1706.                         remote_sap_address_range_lower = 04
  1707.                         remote_sap_address_range_upper = EC
  1708.                         virtual_circuit_type = permanent
  1709.                         remote_station_X.25_address =
  1710.                         optional_X.25_facilities = no
  1711.                         logical_channel_number_of_PVC = 1
  1712.                         reverse_charging = no
  1713.                         rpoa = no
  1714.                         default_packet_size = yes
  1715.                         default_window_size = yes
  1716.                         default_throughput_class = yes
  1717.                         closed_user_group = no
  1718.                         closed_user_group_outgoing = no
  1719.                         network_user_id = no
  1720.                         network_user_id_name =
  1721.                         data_network_identification_code =
  1722.                         packet_size_for_received_data = 128
  1723.                         packet_size_for_transmit_data = 128
  1724.                         window_size_for_received_data = 4
  1725.                         window_size_for_transmit_data = 4
  1726.                         throughput_class_for_received_data = 1200
  1727.                         throughput_class_for_transmit_data = 1200
  1728.                         index_to_selected_closed_user_group = 0
  1729.                         lu_address_registration = no
  1730.                         lu_address_registration_name = LDEFAULT
  1731.  
  1732.           3.  Define the connection profiles
  1733.  
  1734.               The connection profile specifies the LU name of the partner and
  1735.               defines the name that will be used by the AREXEC program to reach
  1736.               the partner.
  1737.  
  1738.               You will again need a connection profile for both listen and call
  1739.               if you want to act as both a client and a server.
  1740.  
  1741.                 PARTNER_CONNECTION:
  1742.                         type = CONNECTION
  1743.                         profile_name = SERVER_LU_LISTEN
  1744.                         attachment_profile_name = LISTEN
  1745.                         local_lu_profile_name = LOCALLU
  1746.                         network_name = NETWORK_NAME
  1747.                         remote_lu_name = SERVER_LU
  1748.                         stop_connection_on_inactivity = no
  1749.                         lu_type = lu6.2
  1750.                         interface_type = extended
  1751.                         remote_tpn_list_name = REMOTETPS
  1752.                         mode_list_name = MODELIST
  1753.                         node_verification = no
  1754.                         inactivity_timeout_value = 0
  1755.                         notify = no
  1756.                         cp_sessions = no
  1757.                         parallel_sessions = parallel
  1758.                         negotiate_session_limits = yes
  1759.                         security_accepted = conversation
  1760.                         conversation_security_access_list_name =
  1761.  
  1762.                 PARTNER_CONNECTION:
  1763.                         type = CONNECTION
  1764.                         profile_name = SERVER_LU_CALL
  1765.                         attachment_profile_name = CALL
  1766.                         local_lu_profile_name = LOCALLU
  1767.                         network_name = NETWORK_NAME
  1768.                         remote_lu_name = SERVER_LU
  1769.                         stop_connection_on_inactivity = no
  1770.                         lu_type = lu6.2
  1771.                         interface_type = extended
  1772.                         remote_tpn_list_name = REMOTETPS
  1773.                         mode_list_name = MODELIST
  1774.                         node_verification = no
  1775.                         inactivity_timeout_value = 0
  1776.                         notify = no
  1777.                         cp_sessions = no
  1778.                         parallel_sessions = parallel
  1779.                         negotiate_session_limits = yes
  1780.                         security_accepted = conversation
  1781.                         conversation_security_access_list_name =
  1782.  
  1783.       -   Mode list profiles
  1784.  
  1785.           You will also need mode list profiles:
  1786.  
  1787.  
  1788.             MODE_MODE LIST:
  1789.                     type = MODELIST
  1790.                     Listname = MODELIST
  1791.                     list_members = BATCH,INTER
  1792.  
  1793.   o   Configuration changes specific to the client computer
  1794.  
  1795.       No special configuration is needed for AIX SNA Services to configure the
  1796.       AREXEC client.
  1797.  
  1798.   o   Configuration changes specific to the server computer
  1799.  
  1800.       -   Defining the TP
  1801.  
  1802.           To define the transaction program profiles:
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.             LOCAL_TPN LIST:
  1810.                     type = TPNLIST
  1811.                     Listname = LOCALTPS
  1812.                     list_members = AREXECDLOCAL
  1813.  
  1814.  
  1815.             AREXECDLOCAL_TPN:
  1816.                     type = TPN
  1817.                     profile_name = AREXECDLOCAL
  1818.                     tpn_name = AREXECD
  1819.                     conversation_type = mapped
  1820.                     pip_data = no
  1821.                     sync_level = confirm
  1822.                     recovery_level = no_reconnect
  1823.                     full_path_to_tpn = /u/pjs/bin/AREXECD
  1824.                     multiple_instances = yes
  1825.                     user_id = 0
  1826.                     server_synonym_name =
  1827.                     restart_action = once
  1828.                     communication_type = signals
  1829.                     stdin = /dev/null
  1830.                     stdout = /u/pjs/log/AREXECD.stdout
  1831.                     stderr = /u/pjs/log/AREXECD.stderr
  1832.                     subfields = 0
  1833.                     communication_ipc_queue_key = 0
  1834.                     tpn_name_in_hex = no
  1835.                     security_required = none
  1836.                     resource_security_access_list_name =
  1837.  
  1838.             REMOTE_REMOTE TPN LIST:
  1839.                     type = REMOTETPNLIST
  1840.                     Listname = REMOTETPS
  1841.                     list_members = AREXECD
  1842.  
  1843.  
  1844.             AREXECD_REMOTE TPN:
  1845.                     type = REMOTETPN
  1846.                     profile_name = AREXECD
  1847.                     tpn_name = AREXECD
  1848.                     pip_data = no
  1849.                     conversation_type = mapped
  1850.                     recovery_level = no_reconnect
  1851.                     sync_level = confirm
  1852.                     tpn_name_in_hex = no
  1853.  
  1854.  
  1855.   +---------------------------------------------------------------------------+
  1856.   |                                                                           |
  1857.   | Programmer's Guide                                                        |
  1858.   |                                                                           |
  1859.   +---------------------------------------------------------------------------+
  1860.  
  1861.   This is a quick guide on how to recompile the source code on your platform.
  1862.   You should only need to refer to this section if you did not receive the
  1863.   executable code with AREXEC, or if you are interested in making changes to
  1864.   the AREXEC source.
  1865.  
  1866.   See the appropriate makefile for your environment:
  1867.  
  1868.   MAKEFILE  ENVIRONMENT
  1869.  
  1870.   AREXEC.OS2
  1871.             Networking Services/2 or Extended Services Only
  1872.  
  1873.             This makefile will build an OS/2 only executable.  You must have
  1874.             the OS/2 Programmer's Toolkit installed.  See the comments at the
  1875.             start of the makefile for information about setting up your
  1876.             compilation environment.
  1877.  
  1878.             This makefile is written for Microsoft C 6.0.  If you would like to
  1879.             use it with IBM C/2, you will need to change the warning flag from
  1880.             "/W4" to "/W3."
  1881.  
  1882.   AREXEC.FAM
  1883.             (Networking Services/2 or Extended Services) and Networking
  1884.             Services/DOS
  1885.  
  1886.             This makefile will build a family API executable that will run in
  1887.             either OS/2 or a DOS environment.  You must have the OS/2
  1888.             Programmer's Toolkit installed, and both an OS/2 CPI-C platform
  1889.             (Networking Services/2 or Extended Services) and Networking
  1890.             Services/DOS See the comments at the start of the makefile for
  1891.             information about setting up your compilation environment.
  1892.  
  1893.             This makefile is written for Microsoft C 6.0.  If you would like to
  1894.             use it with IBM C/2, you will need to change the warning flag from
  1895.             "/W4" to "/W3."
  1896.  
  1897.   AREXEC.DOS
  1898.             Networking Services/DOS Only
  1899.  
  1900.             This makefile will build a DOS mode executable.  The OS/2
  1901.             Programmer's Toolkit is NOT required.
  1902.  
  1903.             This makefile is written for Microsoft C 6.0.  If you would like to
  1904.             use it with IBM C/2, you will need to change the warning flag from
  1905.             "/W4" to "/W3."
  1906.  
  1907.   AREXEC.BOR
  1908.             Networking Services/DOS Only
  1909.  
  1910.             This makefile will build a DOS mode executable.  The OS/2
  1911.             Programmer's Toolkit is NOT required.
  1912.  
  1913.             This makefile is for use with Borland C++ 2.0.
  1914.  
  1915.   AREXEC.400
  1916.             AS/400
  1917.  
  1918.             This file is a REXX exec which should be uploaded to the AS/400.
  1919.             Assuming your compiler is set up to compile C code, you can simply
  1920.             run this exec to build AREXEC and AREXECD.
  1921.  
  1922.   AREXEC.AIX
  1923.             AIX SNA Services
  1924.  
  1925.             This makefile is for use with the XCL compiler shipped with the AIX
  1926.             operating system.
  1927.  
  1928.   AREXEC.VM VM ESA
  1929.  
  1930.             This file is a REXX exec which should be uploaded to VM and renamed
  1931.             (for example, to MAKEIT EXEC).  Assuming your compiler is set up to
  1932.             compile C code, you can simply run this exec to build AREXEC and
  1933.             AREXECD.
  1934.  
  1935.             If you have access to a version of the MAKE utility, the AREXECVM
  1936.             file also has a makefile for VM within comments at the end of the
  1937.             file.
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.